<template>
<details open=""><summary>显示类型声明</summary><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">type</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> Arrayable</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">T</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt; </span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">=</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> T</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> |</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> T</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">[]</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">type</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> FormValidationResult</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> =</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> Promise</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;">boolean</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light: #6A737D; --shiki-dark: #6A737D;">// ValidateFieldsError: see [async-validator](https://github.com/yiminghe/async-validator/blob/master/src/interface.ts)</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">type</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> FormValidateCallback</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> =</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;"> (</span></span>
<span class="line"><span style="--shiki-light: #E36209; --shiki-dark: #FFAB70;">  isValid</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> boolean</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light: #E36209; --shiki-dark: #FFAB70;">  invalidFields</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">?:</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> ValidateFieldsError</span></span>
<span class="line"><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">) </span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">=&gt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> Promise</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;">void</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt; </span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">|</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> void</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light: #6A737D; --shiki-dark: #6A737D;">// RuleItem: see [async-validator](https://github.com/yiminghe/async-validator/blob/master/src/interface.ts)</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">interface</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> FormItemRule</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> extends</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> RuleItem</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light: #E36209; --shiki-dark: #FFAB70;">  trigger</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">?:</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> Arrayable</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;">string</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt;</span></span>
<span class="line"><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">type</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> Primitive</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> =</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> null</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> |</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> undefined</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> |</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> string</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> |</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> number</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> |</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> boolean</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> |</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> symbol</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> |</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> bigint</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">type</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> BrowserNativeObject</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> =</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> Date</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> |</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> FileList</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> |</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> File</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> |</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> Blob</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> |</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> RegExp</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">type</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> IsTuple</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">T</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> extends</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> ReadonlyArray</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;">any</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt;&gt; </span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">=</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> number</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> extends</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> T</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">[</span><span style="--shiki-light: #032F62; --shiki-dark: #9ECBFF;">'length'</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">]</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">  ?</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> false</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">  :</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> true</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">type</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> ArrayMethodKey</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> =</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> keyof</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> any</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">[]</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">type</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> TupleKey</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">T</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> extends</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> ReadonlyArray</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;">any</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt;&gt; </span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">=</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> Exclude</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">keyof</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> T</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">, </span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">ArrayMethodKey</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt;</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">type</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> ArrayKey</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> =</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> number</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">type</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> PathImpl</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">K</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> extends</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> string</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> |</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> number</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">, </span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">V</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt; </span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">=</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> V</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> extends</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">  |</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> Primitive</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">  |</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> BrowserNativeObject</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">  ?</span><span style="--shiki-light: #032F62; --shiki-dark: #9ECBFF;"> `${</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">K</span><span style="--shiki-light: #032F62; --shiki-dark: #9ECBFF;">}`</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">  :</span><span style="--shiki-light: #032F62; --shiki-dark: #9ECBFF;"> `${</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">K</span><span style="--shiki-light: #032F62; --shiki-dark: #9ECBFF;">}`</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> |</span><span style="--shiki-light: #032F62; --shiki-dark: #9ECBFF;"> `${</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">K</span><span style="--shiki-light: #032F62; --shiki-dark: #9ECBFF;">}.${</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">Path</span><span style="--shiki-light: #032F62; --shiki-dark: #9ECBFF;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">V</span><span style="--shiki-light: #032F62; --shiki-dark: #9ECBFF;">&gt;</span><span style="--shiki-light: #032F62; --shiki-dark: #9ECBFF;">}`</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">type</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> Path</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">T</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt; </span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">=</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> T</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> extends</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> ReadonlyArray</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">infer</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> V</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt;</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">  ?</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> IsTuple</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">T</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt; </span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">extends</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> true</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">    ?</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">        [</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">K</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> in</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> TupleKey</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">T</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt;]</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">-?:</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> PathImpl</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">Exclude</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">K</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">, </span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;">symbol</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt;, </span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">T</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">[</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">K</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">]&gt;</span></span>
<span class="line"><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">      }[</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">TupleKey</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">T</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt;]</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">    :</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> PathImpl</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">ArrayKey</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">, </span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">V</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt;</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">  :</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">      [</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">K</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> in</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> keyof</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> T</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">]</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">-?:</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> PathImpl</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">Exclude</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">K</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">, </span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;">symbol</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt;, </span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">T</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">[</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">K</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">]&gt;</span></span>
<span class="line"><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">    }[</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">keyof</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> T</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">]</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">type</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> FieldPath</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">T</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt; </span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">=</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> T</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> extends</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> object</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> ?</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> Path</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">T</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt; </span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> never</span></span>
<span class="line"><span style="--shiki-light: #6A737D; --shiki-dark: #6A737D;">// MaybeRef: see [@vueuse/core](https://github.com/vueuse/vueuse/blob/main/packages/shared/utils/types.ts)</span></span>
<span class="line"><span style="--shiki-light: #6A737D; --shiki-dark: #6A737D;">// UnwrapRef: see [vue](https://github.com/vuejs/core/blob/main/packages/reactivity/src/ref.ts)</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">type</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> FormRules</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">T</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> extends</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> MaybeRef</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">Record</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;">string</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">, </span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;">any</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt; </span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">|</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> string</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt; </span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">=</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> string</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt; </span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">=</span></span>
<span class="line"><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">  Partial</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span></span>
<span class="line"><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">    Record</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span></span>
<span class="line"><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">      UnwrapRef</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">T</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt; </span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">extends</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> string</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> ?</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> UnwrapRef</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">T</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt; </span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> FieldPath</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">UnwrapRef</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">T</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt;&gt;,</span></span>
<span class="line"><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">      Arrayable</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">FormItemRule</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&gt;</span></span>
<span class="line"><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">    &gt;</span></span>
<span class="line"><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">  &gt;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">type</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> FormItemValidateState</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> =</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> typeof</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;"> formItemValidateStates[number]</span></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">type</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> FormItemProps</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> =</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> ExtractPropTypes</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">&lt;</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">typeof</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;"> formItemProps&gt;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">type</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> FormItemContext</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> =</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> FormItemProps</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> &amp;</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light: #E36209; --shiki-dark: #FFAB70;">  $el</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> HTMLDivElement</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;"> |</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> undefined</span></span>
<span class="line"><span style="--shiki-light: #E36209; --shiki-dark: #FFAB70;">  size</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> ComponentSize</span></span>
<span class="line"><span style="--shiki-light: #E36209; --shiki-dark: #FFAB70;">  validateState</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> FormItemValidateState</span></span>
<span class="line"><span style="--shiki-light: #E36209; --shiki-dark: #FFAB70;">  isGroup</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> boolean</span></span>
<span class="line"><span style="--shiki-light: #E36209; --shiki-dark: #FFAB70;">  labelId</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> string</span></span>
<span class="line"><span style="--shiki-light: #E36209; --shiki-dark: #FFAB70;">  inputIds</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> string</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">[]</span></span>
<span class="line"><span style="--shiki-light: #E36209; --shiki-dark: #FFAB70;">  hasLabel</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> boolean</span></span>
<span class="line"><span style="--shiki-light: #E36209; --shiki-dark: #FFAB70;">  fieldValue</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> any</span></span>
<span class="line"><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">  addInputId</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;"> (</span><span style="--shiki-light: #E36209; --shiki-dark: #FFAB70;">id</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> string</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">) </span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">=&gt;</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> void</span></span>
<span class="line"><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">  removeInputId</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;"> (</span><span style="--shiki-light: #E36209; --shiki-dark: #FFAB70;">id</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> string</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">) </span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">=&gt;</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> void</span></span>
<span class="line"><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">  validate</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;"> (</span></span>
<span class="line"><span style="--shiki-light: #E36209; --shiki-dark: #FFAB70;">    trigger</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> string</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light: #E36209; --shiki-dark: #FFAB70;">    callback</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">?:</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> FormValidateCallback</span></span>
<span class="line"><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">  ) </span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">=&gt;</span><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;"> FormValidationResult</span></span>
<span class="line"><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">  resetField</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">()</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> void</span></span>
<span class="line"><span style="--shiki-light: #6F42C1; --shiki-dark: #B392F0;">  clearValidate</span><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">()</span><span style="--shiki-light: #D73A49; --shiki-dark: #F97583;">:</span><span style="--shiki-light: #005CC5; --shiki-dark: #79B8FF;"> void</span></span>
<span class="line"><span style="--shiki-light: #24292E; --shiki-dark: #E1E4E8;">}</span></span></code></pre></div></details>
</template>
<style scoped>
@import '../../assets/elementPlusDemo.css'
</style>